//********************************************************************
//	created:	13:10:2011   9:46
//	filename: 	config.cpp
//	author:		tiamo
//	purpose:	config
//********************************************************************

#include "stdafx.h"
#include "config.h"

namespace utils
{
	//
	// open config file
	//
	void Config::openConfigFile(wchar_t const* configFileName)
	{
		StdioFile configFile;
		configFile.openFile(configFileName, L"rb");
		mConfigParser.parse(configFile.getContent(), false);
	}

	//
	// get string
	//
	UniString Config::getString(wchar_t const* configPath, wchar_t const* defaultValue)
	{
		bool checkExist														= true;
		UniString retValue													= mConfigParser.getString(configPath, nullptr, &checkExist);
		if(!checkExist)
			retValue														= defaultValue;

		return retValue;
	}

	//
	// get int
	//
	int32_t Config::getInt(wchar_t const* configPath, int32_t defaultValue)
	{
		bool checkExist														= true;
		int32_t retValue													= mConfigParser.getNumber<int32_t>(configPath, nullptr, &checkExist);
		if(!checkExist)
			retValue														= defaultValue;

		return retValue;
	}
}
